Bài 8-1 Lớp và hướng đối tượng
Tác giả: Phu Hoang
Website học Python: Let's Code Python
🧠 Giới thiệu về Lập trình Hướng đối tượng (OOP)
Lập trình hướng đối tượng (Object-Oriented Programming - OOP) là một phong cách lập trình mô phỏng thế giới thực thông qua đối tượng và lớp.
Ví dụ thực tế:
- 🧸 Một chiếc Gấu bông là một đối tượng.
- 💡 "Gấu bông" là một lớp chung để tạo ra nhiều con gấu bông khác nhau.
🧱 Khái niệm cơ bản
Khái niệm | Giải thích |
---|---|
class | Định nghĩa khuôn mẫu cho đối tượng |
object | Thực thể được tạo từ class |
__init__ | Hàm khởi tạo, chạy đầu tiên khi tạo object |
self | Đại diện cho chính đối tượng hiện tại |
method | Hàm được định nghĩa trong class |
🧪 Ví dụ minh họa
🧑🏫 Định nghĩa một lớp Student
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"Xin chào, mình là {self.name}, {self.age} tuổi.")
📦 Tạo đối tượng (instance)
sv1 = Student("Minh", 20)
sv2 = Student("Lan", 21)
sv1.introduce()
sv2.introduce()
Kết quả:
Xin chào, mình là Minh, 20 tuổi.
Xin chào, mình là Lan, 21 tuổi.
📊 Minh họa bằng hình ảnh
Hình 1: Mối quan hệ giữa class
và object
Hình 2: Một lớp Python cơ bản
🛠 Các tính năng OOP nâng cao
Tính năng | Mô tả |
---|---|
Kế thừa (Inheritance) | Lớp con kế thừa từ lớp cha |
Đa hình (Polymorphism) | Nhiều phương thức cùng tên, hoạt động khác nhau |
Bao đóng (Encapsulation) | Ẩn chi tiết nội bộ, chỉ cho phép truy cập qua method |
🧰 Ví dụ kế thừa
class Animal:
def speak(self):
print("Động vật đang phát ra âm thanh.")
class Dog(Animal):
def speak(self):
print("Gâu gâu!")
pet = Dog()
pet.speak()
Kết quả:
Gâu gâu!
✅ Tóm tắt
class
giống như khuôn mẫu,object
là sản phẩm tạo ra từ khuôn đó.__init__
là nơi khai báo thuộc tính khi tạo object.self
giúp gán giá trị cho chính đối tượng.- OOP giúp quản lý chương trình theo cách mô phỏng thế giới thực.
🔗 Thực hành thêm
👉 Truy cập: Let's Code Python - OOP Bài tập